The utilization of many on-line transactional processing (OLTP) systems relative to the amount of available resources is currently increasing due to a number of factors, such as for example loads imposed by a number of trends in business software development, including but not limited to increased access via mobile devices; high performance, in-memory database management, which typically includes heavier use of system memory as well as processing capabilities; cloud storage or other distributed computing approaches, which can tend to reduce the amount of free hardware resources to any given process due to sharing of the available resources across multiple end users; and the like. Backend transactional processing systems are also experiencing increasing loads due to additional usage by on-line analytical processing (OLAP) functionality, such as is incorporated in enterprise resource planning (ERP) and other business software frameworks.
Such additional loads can present challenges in resource allocation at the database server level, which in many system is not readily scalable. These challenges can include insufficient hardware resources to meet a demand at a given time, poor performance for multiple concurrent users of a system due to scalability problems, etc.
The challenge of insufficient hardware resources to handle an additional processing load can arise, for example, in situations in which additional load on a backend system occurs without concurrent increases in available hardware for a database server. A typical example can be increasing support for mobile device capabilities without immediately adding to the available backend hardware. In some examples, an intermediate time period of months to perhaps years can occur between introduction of additional mobile device functionality and the buying of new hardware to increase the available backend resources. During this intermediate period, users can experience decreased performance, particularly at times of heavy backend usage.
Mobile devices can also significantly increase the number of users making concurrent demands on work in the system. In addition, the access behavior of mobile device users can typically be more “peaky” or temporally uneven compared to those of non-mobile computing devices. The difference between the peak load caused by mobile device users and the average load caused by mobile device users is typically higher than users of non-mobile computing devices. Accordingly, allowing increased accessibility to a backend system via mobile device increase the probability of temporary resource shortages, even after installation of additional hardware for the backend server.
The challenge of scalability can arise due to relatively limited scaling capabilities of a typical database server. Additional load can cause a server system to exceed its scaling limit, which can also lead to performance issues. In-memory database systems and other comparable approaches can achieve high performance through parallelization approaches. However, if multiple users execute a highly parallelized process, performance degradation can occur.